61464c
@@ -17,10 +17,13 @@
  */
 package org.apache.hadoop.hive.ql.exec.tez;
 
+import java.io.IOException;
+import java.util.Map;
+import java.util.Map.Entry;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.ql.exec.MapredContext;
 import org.apache.hadoop.hive.ql.exec.ObjectCacheFactory;
 import org.apache.hadoop.hive.ql.exec.Operator;
@@ -41,10 +44,6 @@
 import org.apache.tez.runtime.api.ProcessorContext;
 import org.apache.tez.runtime.library.api.KeyValueReader;
 
-import java.io.IOException;
-import java.util.Map;
-import java.util.Map.Entry;
-
 /**
  * Record processor for fast merging of files.
  */
@@ -93,17 +92,17 @@
void init(JobConf jconf, ProcessorContext processorContext,
       MapWork mapWork = (MapWork) cache.retrieve(MAP_PLAN_KEY);
       if (mapWork == null) {
         mapWork = Utilities.getMapWork(jconf);
-        if (mapWork instanceof MergeFileWork) {
-          mfWork = (MergeFileWork) mapWork;
-        } else {
-          throw new RuntimeException("MapWork should be an instance of" +
-              " MergeFileWork.");
-        }
         cache.cache(MAP_PLAN_KEY, mapWork);
       } else {
         Utilities.setMapWork(jconf, mapWork);
       }
 
+      if (mapWork instanceof MergeFileWork) {
+        mfWork = (MergeFileWork) mapWork;
+      } else {
+        throw new RuntimeException("MapWork should be an instance of MergeFileWork.");
+      }
+
       String alias = mfWork.getAliasToWork().keySet().iterator().next();
       mergeOp = mfWork.getAliasToWork().get(alias);
       LOG.info(mergeOp.dump(0));
